package com.tencreat.common.annotation;

import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;

/**
 * 接口限流
 *
 * @Company: 深圳腾创互联科技有限公司
 * @link: https://tencreat.com
 * @Date: 2022/11/22 13:45
 */
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
/*默认每秒钟访问最多一次*/
public @interface Limit {
    /*资源key  默认为方法名*/
    String key() default "";

    /*每秒请求次数 默认1次*/
    long times() default 1;

    /*令牌恢复时间,  即 timeout 时间内可以访问  times  次数*/
    int timeout() default 1;

    /*获取令牌等待时间单位*/
    TimeUnit timeunit() default TimeUnit.SECONDS;

    /*提示语*/
    String msg() default "系统繁忙，请稍后再试";
}
